package ar.frba.utn.diseñosistemas.TP2;

import java.util.ArrayList;
import java.util.Hashtable;

public class AterrizarSingleton 
{
	private static final AterrizarSingleton INSTANCE = new AterrizarSingleton();
	private ArrayList<Aerolinea> aerolineas;
	private Hashtable<String, Integer> popularidad;

	private AterrizarSingleton()
	{
		popularidad = new Hashtable<String, Integer>();
		ArrayList<Aerolinea> adapters = new ArrayList<Aerolinea>();
		adapters.add(new LanchitaAdapter());
		adapters.add(new OceanicAdapter());
		
		this.setAerolineas(adapters);
	}
	
	public static AterrizarSingleton getInstance()
	{
		return INSTANCE;
	}
	
	public ArrayList<Aerolinea> getAerolineas() {
		return aerolineas;
	}
	public void setAerolineas(ArrayList<Aerolinea> aerolineas) {
		this.aerolineas = aerolineas;
	}

	public Hashtable<String, Integer> getPopularidad()
	{
		return this.popularidad;
	}
	public void setPopularidad(Hashtable<String, Integer> popularidad)
	{
		this.popularidad = popularidad;
	}
	
	public int getPopularidadDe(String codigoVuelo)
	{
		try
		{
			Integer popularidad = this.popularidad.get(codigoVuelo);
			if (popularidad != null)
				return popularidad;
			else
				return 0;
		}
		catch(Exception ex)
		{
			return 0;
		}
	}
	public void incrementarPopularidad(String codigoVuelo)
	{
		int valor = this.getPopularidadDe(codigoVuelo);
		popularidad.put(codigoVuelo, valor);
	}
}
